5.3 防止过度匹配

? 只能匹配零个或一个字符, {n}{m,n} 也有一个重复次数的上限;换句话说,这几种语法所定义的重复次数都是有限的。但 *+ 都是没有重复次数限制的,这样就会出现过度匹配的的现象。

到目前为止,我们选用的例子都不存在过度匹配的问题,但请尝试下面的例子:

这个例子比上面的例子中的模式在 .* 后面多了一个 ? ,匹配结果正是我们需要的两个结果。

注意

教程里面的大多数例子使用的都是”贪婪型“的模式,这么做的出发点是为了让那些示例模式尽可能的简明易懂。在实际工作中,请务必根据具体情况来使用”贪婪型“或”懒惰型“模式。

发表评论